package org.fjsei.yewu.service.third;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@Accessors(chain = true)
public class EqpCodOidno {
    private Long id;
    private String eqpCod;
    private String oidno;
    private String  amrServer;
    private String  eqpType;
    private String  eqpSort;
    private String  eqpVart;
    private String  subEqpVart;
}

@Data
@Accessors(chain = true)
class ElvPara {
    private String createUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    private String updateUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    private String eqpCod;
    private String mainstrform;
    private String managemode;
    private String runvelocity;
    private String ratedload;
    private Float eleheight;
    private String ifAdddevice;
    private String floordoortype;
    private String tracangtype;
    private String tracangleafacnumber;
    private String conscrtype;
    private String contscrcode;
    private String restspeedtype;
    private String restspleafacnumber;
    private String limitMakeUnt;
    private Float ladincangle;
    private Float rundlebreadth;
    private Float elewalkdistance;
    private String elestadenumber;        //有超大的 >
    private Short elefloornumber;
    private Short eledoornumber;
    private String safeclamnum;
    private String safeclamtype;
    private String compentype;
    private Float bottomdepth;
    private Float ratingcurrent;
    // 注意：这里可能有一个字段命名冲突或错误，因为同时有ratedCurrent和ratingcurrent
    // 根据实际情况，您可能需要重命名其中一个字段
    private String ratedCurrent; // 假设这是正确的字段名，如果错误请根据实际情况调整
    private String ratedPeople;
    private Float topheight;
    private String counorbtype;
    private String runmethod;
    private String buffernumber;
    private String buffertype;
    private String bufferMode; // 注意：这里使用了中文“液压”，通常建议使用英文以保持代码的国际性
    // 但如果这是业务要求，可以保留
    private String bufferMakeUnt;
    private String elecStyle;
    private String elecType;
    private String elecCod;
    private String electropower;
    private String elecRev;
    private String ifShip;
    private String ifCar;
    private String ifUnnormal;
    private String dragNum;
    private String dragDia;
    private String dragPitchDia;
    private String dragPropor;
    private String doorOpenType;
    private String dragMode;
    private String controlType;
    private String limitRopDia;
    private String carUplimitEv;
    private String carUplimitMv;
    private String carDownlimitEv;
    private String carDownlimitMv;
    private String coupLimitType;
    private String coupLimitCod;
    private String upProtectType;
    private String upProtectCod;
    private String carOrbDist;
    private String coupOrbDist;
    private String coupNum;
    private String dipAngle;
    private String nomiWidth;
    private String wireRopNum;
    private String wireRopDia;
    private String cylinderNum;
    private String cylinderStyle;
    private String pumpType;
    private String pumpCod;
    private String pumpFlux;
    private String pumpPower;
    private String limitMv;
    private String upRatedV;
    private String downRatedV;
    private String topPatterns;
    private String safeDoor;
    private String carHigh;
    private String carWidth;
    private String  carDeep;
    private String drivApproach;
    private String doorOpenDirct; // 注意：这里可能有一个拼写错误，正确的可能是doorOpenDirection
    private String oilType;
    private String lockType;
    private String pumpSpeed;
    private String preventSettlement;
    private String fbMachineflag;
    private String fbSubstance;
    private String fbArealevel;
    private String fbHgcod;
    private String carProtectType;
    private String carProtectCod;
    private String carDecorateSta;
    private String upProtectMode;
    private String upProtectModeandtype;
    private Float slidwayUseLeng; // 注意：这里可能有一个拼写错误，正确的可能是slidewayUseLength
    private String brakeMakeUntName;
    private String brakeMod;
    private String brakeType;
    private String coupHigh;
    private String carLockType;
    private String carSafeclamtype; // 注意：这里可能有一个拼写错误，正确的可能是carSafeClampType
    private String ifOldDt;
    private String ifOldbuildInst;
    private String ifRemoteMt;
    private String ifNonmetMat;
    //报错，尽量用String 不要用Float
    private String balanceRange;
    private String carAircondition; // 注意：这里可能有一个拼写错误，正确的可能是carAirConditioning
    private String carDoorLocation;
    private String vpropor; // 注意：这里可能有一个拼写错误或意义不明的命名，根据实际情况调整
}
@Data
@Accessors(chain = true)
class VesPara {
    private String createUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    private String updateUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    private String eqpCod;
    private String mainstrform;
    private String insform;
    private String temppremode; // 可以根据实际需要定义为具体类型，这里用String表示可能是null或其他类型
    private String coninndia;
    private String silomater;
    private String sealmater;
    private String innermater;
    private String covermater;
    private String canisterply;
    private String sealply;
    private String innerply;
    private String coverply;
    private String containervolume;
    private String containervolumeCalc;
    private String containerheight;
    private String chitinheft;
    private String innerheft;
    private String loadweight;
    private String ynheatpreins; // 同上，可能为null或其他类型
    private String shelldesignpress;
    private String shelldesigntemperatrue;
    private String shelltoppress; // 同上
    private String tubedesignpress; // 同上
    private String tubedesigntemperatrue; // 同上
    private String tubetoppress; // 同上
    private String coverdesignpress;
    private String coverdesigntemperatrue;
    private String covertoppress;
    private String shellusepress;
    private String coverusepress;
    private String tubeusepress; // 同上
    private String shellmedium;
    private String covermedium;
    private String designpress;
    private String topworkpress; // 同上
    private String useworkpress; // 同上
    private String pressmode; // 同上
    private String airconform; // 同上
    private String tubemedium; // 同上
    private String oxycablig; // 同上
    private String meaoxymod; // 同上
    private String airelemac; // 同上
    private String enregisterno; // 同上
    private String carsign; // 同上
    private String carstrform; // 同上
    private String jarundanno; // 同上
    private String innjarmat; // 同上
    private String outjarmat; // 同上
    private String tindesipress; // 同上
    private String tanjarexapre;
    private String tiptoptem; // 同上
    private String tindesitemp; // 同上
    private String tanjarbatnum; // 同上
    private String bamjarwalthi;
    private String envjarwalthi; // 同上
    private String bamjarwalthio;
    private String batholithmodel; // 同上
    private String enginepower; // 同上
    private String tankcartowei; // 同上
    private String loadweig; // 注意与loadweight区分，可能是拼写错误或不同字段
    private String fullyloadwei;
    private String designvelocityloadsurface;
    private String designvelocitycorner;
    private String empsteaangel;
    private String wholecaroutlinelength; // 同上
    private String wholecaroutlinewidth; // 同上
    private String wholecaroutlineheigth; // 注意拼写，应为height
    private String frfullaxisdist;
    private String bafullaxisdist;
    private String mifullaxisdist;
    private String tincubage; // 同上
    private String despre; // 注意与shelldesignpress区分，可能是不同字段但拼写相似
    private String destem; // 注意与shelldesigntemperatrue区分，可能是不同字段但拼写相似
    private String tinamplmedi; // 同上
    private String tinamplmodu;
    private String tinamplweig; // 同上
    private String tinerode; // 同上
    private String tinheatpresmate; // 同上
    private String tinheattreafash; // 注意拼写，可能为tinheattreflash或其他
    private String tintestpress; // 同上
    private String tingastestpress; // 注意拼写和上下文，可能是特定测试压力
    private String tinholeposi; // 同上
    private String namplapos; // 同上
    private String tinoutlineinner; // 同上
    private String tinoutlineply; // 同上
    private String tinoutlinelength; // 注意与wholecaroutlinelength区分，可能是不同部件的长度
    private String jarbodcor; // 同上
    private String loaugropos; // 同上
    private String mediassemode; // 同上
    private Integer usebuspersum; // 根据上下文，这里假设为整数表示使用总数或类似
    private String consort;
    private String presort;
    private String pressurerange; // 同上
    private String pressureapparprecision; // 同上
    private String sealtype; // 同上
    private String basestyle;
    private String ynqopen;
    private String inspectform; // 同上
    private String workPress;
    private String workTemp;
    private String workMedium;
    private String permPress;
    private String permTemp;
    private String permMedium;
    private String vesselMod; // 同上
    private String headRustGrade;
    private String kzzl; // 同上
    private String topPly; // 同上，注意与canisterply等区分
    private String topMeterial; // 同上，注意拼写为Material可能是更标准的英文
    private String bodyMeterial; // 同上
    private String motionSta; // 注意拼写，可能为motionStatus或其他
    private String designMedium;
    private String topMod; // 同上
    private String vehicVart; // 注意拼写，可能为vehicleType或其他
    private String wallThick; // 注意这是描述多个厚度的字符串
    private String avgArea; // 同上
    private String bodyRustGrade;
    private String shellusetemperatrue; // 注意拼写与shelldesigntemperatrue区分
    private String covertemperatrue;
    private String tubetemperatrue; // 同上
    private String boxName; // 同上
    private String envjarmat; // 同上，注意与covermater等区分
    private String envjarwalthio; // 同上，注意与bamjarwalthio区分
    private String capablimit;
    private String capablimitnum; // 同上
    private String capablimitEvery; // 注意拼写和上下文
    private String dangerMedType; // 同上
    private String ifContainervolume; // 注意这是描述字段类型的字符串
    private String securityLev; // 注意拼写为SecurityLevel可能是更标准的英文
    private String manufacturecriterion; // 同上
    private String tinheatpresmode;
}
//non-pressure vessel
@Data
@Accessors(chain = true)
class NpvsPara {
    private String createUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    private String updateUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    private String eqpCod;
    private String designPress;
    private String cubage;
    private String tubSum;
    private String tubType;
    private String vehicNum;
    private String sendCert;
    private String carType;
    private String ratedLoad;
    private String cjNo;
    private String engineCod;
    private String innerMedium;
    private String nameplateState;
    private String shapeSize;
    private String designMedium;
    private String crossSectionalShape;
    private String tinerode;
    private String sealmater;
    private String sealply;
    private String temppremode;
    private String silomater;
    private String canisterply;
    private String nonMetallicLining;
}
@Data
@Accessors(chain = true)
class LiftPara {
    private  String createUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    private  String updateUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    private  String eqpCod;
    private  String ratedLoad;
    private  String ifUnnormal;
    private  String ifTwoHois;
    private  String floorNum;
    private  String ratedV;
    private  String stationNum;
    private  String doorNum;
    private  String upHigh;
    // Removed Optional, assuming nullable fields can be null
    private  String dragPropor; 
    private  String doorStytle; 
    private  String bufferMode;
    private  String dragMode; 
    private  String controlType;
    private  String limitRopDia; 
    private  String upRopDia; 
    private  String coupRopDia; 
    private  String hoisTrip; 
    private  String feedHigh; 
    private  String carOrbDist; 
    private  String coupOrbDist; 
    private  String coupNum; 
    private  String ratedCurrent; 
    private  String topHigh; 
    private  String drivApproach;
    private  String doorCloseType;
    private  String eqpUse; 
    private  String doorOpenDict;
    private  String fallProtect; 
    private  String doorPattern; 
    private  String ratedPeople; 
    private  String maxMoment; 
    private  String margins; 
    private  String workLevl; 
    private  String blastsign; 
    private  String spanStruct; 
    private  String ifInsulation;
    private  String trackLen; 
    private  String operStytle;
    private  String bufferMakeUnt;
    private  String ifTest;
    private  String testInfo;
    private  String ifAuxi;
    private  String auxiType; 
    private  String mostTop; 
    private  String taskCondition; 
    private  String workMan; 
    private  String counorbHeightIsping; 
    private  String coupNumIsping;
    private  String hoisNumIsping;
    private  String wallNumIsping;
    private  String hoisNum; 
    private  String connectType; 
    private  String doorDriveType; 
    private  String dragNum;
    private  String dragDia; 
    private  String dragPitchDia; 
    private  String dragType;
    private  String dragCod;
    private  String conScreenType;
    private  String conScreenCod;
    private  String carlimitVType;
    private  String carlimitVCod;
    private  String carDownlimitEv; 
    private  String carDownlimitMv; 
    private  String limitMv; 
    private  String safeType;
    private  String safeCod;
    private  String bufferType;
    private  String bufferCod;
    private  String elecStyle; 
    private  String elecType;
    private  String elecCod;
    private  String elecRev; 
    private  String elecPower; 
    private  String fallSaveType;
    private  String fallSaveCod;
    private  String hoistType;
    private  String hoistCod;
    private  String auxiName; 
    private  String driveDevice; 
    private  String vpropor;
}
@Data
@Accessors(chain = true)
class CraPara {
    private String createUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    private String updateUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    private String eqpCod;
    private String chaengloa;
    private String liftedmmoment;
    private String eleheight;
    private String workradius;
    private String workgrade;
    private String gauge;
    private String range;
    private String liftespeed;
    private String alterrangemode;
    private String mainstrform;
    private String towertype;
    private String basetype;
    private String nacelletype;
    private String tiptowertype;
    private String maxworkrange;
    private String spanmode;
    private String upsetmoment;
    private String cranearmtype;
    private String minworkrange;
    private String maxratedcarrymass;
    private String rotatesvelocity;
    private String movingvelocity;
    private String alterrangevelocity;
    private String topupvelocity;
    private String carrymasstotalwei;
    private String counterbalance;
    private String wholemachinetotalpower;
    private String expcarrymass;
    private String chaadvmom;
    private String saflocnum;
    private String safloctyp;
    private String bernum;
    private String layerstage;
    private String suscagworjour;
    private String ratedspeed;
    private String ratactspe;
    private String ratbraloa;
    private String workcondition;
    private String lanmovspe;
    private String pormovspe;
    private String spabesdia;
    private String fetchset;
    private String freeehigh;
    private String chaengloavice;
    private String chaengloamain;
    private String liftespeedvice;
    private String liftespeedmain;
    private String lifteropediam;
    private String raillenth;
    private String runningspeed;
    private String inspectform;
    private String designcriterion;
    private String manufacturecriterion;
    private String spanLen;
    private String trackLen;
    private String operStytle;
    private String taskCondition;
    private String upBody;
    private String ifTwoLcar;
    private String ifTwoCab;
    private String ifViceLoad;
    private String ifViceArm;
    private String ifGrabB;
    private String ifSuctorial;
    private String ifContainH;
    private String ifMetallurgy;
    private String ifUnnormal;
    private String runV;
    private String runTrack;
    private String powerSupp;
    private String effRadius;
    private String runMethod;
    private String runTime;
    private String carryMethod;
    private String cypStr;
    private String upDownSpeed;
    private String liftArm;
    private String suppLeg;
    private String downDeep;
    private String cantilCons;
    private String minMargins;
    private String explAreaPlot;
    private String explMattType;
    private String maxMlift;
    private String downSpeed;
    private String diffBetween;
    private String powSystem;
    private String armLen;
    private String armLen2;
    private String maxOutlen;
    private String exSign;
    private String ifXzs;
    private String ifJhsy;
    private String explosiveLevel;
    private String spanStruct;
    private String ifZjcc;
    private String ifTest;
    private String liftespeedvalue;
    private String eleheightmain;
    private String eleheightvice;
    private String emptyWeight;
    private String chaengloamain2;
    private String chaengloavice2;
    private String ifAuxi;
    private String auxiType;
    private String ifMonitor;
    private String output;
    private String monitorType;
    private String monitorFactorycod;
    private String monitorUnitName;
    private String tcSortName;
    private String tcIoMaxtime;
    private String tcEqphigh;
    private String tcCarsize;
    private String tcCarweight;
    private String tcFloornum;
    private String rotatesveangle;
    private String movrange;
    private String spanSupport;
    private String span;
    private String tcStytle;
    private String tcInoutsize;
    private String qmMainupType;
    private String qmMainupUnit;
    private String qmMainupTypeIsping;
    private String qmMaingridNum;
    private String qmLiftcarNum;
    private String qmMaingridStyle;
    private String qmMainlegStyle;
    private String qmMainupunitType;
    private String qmCarmode;
    private String jqjRatebearing;
    private String armSpan;
    private String eqpUseAddrIsping;
    private String spanIsping;
    private String qmMaxhigh;
    private String qmArmHighIsping;
    private String qmMaxworkrangeIsping;
    private String qmRatioMainIsping;
    private String qmMaxratedcarrymassmain;
    private String qmAuxiNumIsping;
    private String auxiName;
    private String qmBzjlstyle;
    private String qmHzstyle;
    private String qmBjtype;
    private String qmAlterrangemode;
    private String qmZztype;
    private String qmMovetype;
    private String baseDistance;
    private String dgMaxratedcarrymass;
    private String dgRange;
    private String zdMaxratedcarrymass;
    private String zdRange;
    private String zyMaxratedcarrymass;
    private String zyRange;
    private String qmMjstyle;
    private String qmBjstyle;
    private String qmCzsNum;
    private String qmEqpType;
    private String ifSupport;
    private String qmRatedcarrymassvice;
    private String qmRatioViceIsping;
    private String armLen1Isping;
    private String armLen2Isping;
    private String containLen;
    private String fbSubstance;
    private String fbArealevel;
    private String qmRatedcarrymassmain;
    private String lCarV;
    private String sCarV;
}
@Data
@Accessors(chain = true)
class BoilPara {
    private String createUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    private String updateUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    private String eqpCod;
    private String sepurp;
    private String pinchstrform;
    private String warmupstrform;
    private String mainmate;
    private String desithereffi;
    private String stokeholdtype;
    private String mainstrform;
    private String ratcon;
    private String usestr;
    private String mediexporttemp;
    private String heatupmode;
    private String burningtype;
    private String usestates;
    private String burnmode;
    private String waterdealtype;
    private String deoxidizemode;
    private String drosstype;
    private String sootavoidmode;
    private String boilernum;
    private String waterdealnum;
    private String addwaterdealtype;
    private String mostvapovalue;
    private String reheatflux;
    private String siloworkpress;
    private String steamexportpress;
    private String resteamimportpress;
    private String resteamexportpress;
    private String feedwatertem;
    private String steamexporttem;
    private String resteamimporttem;
    private String resteamexporttem;
    private String direboilerstartpress;
    private String direboilerstartflux;
    private String watercircletype;
    private String burntlaytype;
    private String burntvolati;
    private String lowburnvalue;
    private String lowburnunit;
    private String steamtemptype;
    private String resteamtemptype;
    private String gaswaterapartmode;
    private String othpara;
    private String bacwattem;
    private String comwattem;
    private String allwortem;
    private String orghcarbno;
    private String desexpstr;
    private String desexptem;
    private String dessta;
    private String expworstr;
    private String expwortem;
    private String ratstetem;
    private String feewatstr;
    private String burequ;
    private String fousor;
    private String sattem;
    private String designcriterion;
    private String manufacturecriterion;
    private String factoryType;
    private String ifBoilWall;
    private String effEval;
    private String designUntName;
    private String strexmstr;
    private String compressTryDate;
    private String compressTryMedium;
    private String outHot;
    private String workTemp;
    private String userWaLinkphone;
    private String mediumAssayDate;
    private String mediumAllowTemp;
    private String workPress;
    private String workAge;
    private String workMedium;
    private String userWaLinkman;
    private String workPower;
    private String beheatMachType;
    private String instCon;
    private String ifVertical;
    private String mediumCod;
    private String mediumName;
    private String heatPow;
    private String desworkpress;
    private String steamif;
    private String steamfor;
    private String waterClMod;
    private String waterEqpMakeUntName;
    private String waterYxms;
    private String woEqpPress;
    private String nxcod;
    private String lastNxDate;
    private String nextNxDate;
    private String burnspec;
    private String burnfaccod;
    private String designBurningtype;
}
@Data
@Accessors(chain = true)
class CarPara {
    private String createUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    private String updateUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    private String eqpCod;
    private String runspeed;
    private String ratedloadweig;
    private String dynamicmode;
    private String driver; 
    private String burkin; 
    private String color; 
    private String trailer; 
    private String batnum;
    private String engnum;
    private String tiptopmph;
    private String enginemodel; 
    private String motornum; 
    private String cabquota; 
    private String fueltype; 
    private String brandmodel; 
    private String cartype; 
    private String emptyWeight;
    private String carriDevic; 
    private String useArea; 
    private String drivApproach;
    private String tyreType; 
    private String vehicUseEnv; 
    private String enginePower; 
    private String engineV; 
    private String dragPower; 
    private String loadCenter; 
    private String systemVoltage; 
    private String maxlifheightWithoutLoad;
    private String maxDriveSlope; 
    private String frontGauge; 
    private String rearTrack; 
    private String carNum; 
    private String carriageSeatsNum; 
    private String frontSeatsNum; 
    private String carUseArea; 
    private String explosiveLevel; 
    private String fbArealevel; 
    private String catlicennum;
    private String batstruct;
    private String drivetype;
    private String eqpprotectlevel;
    private String tempgroup;
    private String gasdustgroup;
}
@Data
@Accessors(chain = true)
class AmusPara {
    private String createUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    private String updateUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    private String eqpCod;
    private String linevelocity;
    private String height;
    private Short ratedpassengernum;
    private String ratedload;
    private String ratedvelocity;
    private String grade;
    private String subvelocity;
    private String driveform;
    private String drivemainpower;
    private String pressure;
    private String subpower;
    private String seatheight;
    private String turningdiameter;
    private String gauge;
    private String gaugelength;
    private String waterslideheight;
    private String carniewterdeep;
    private String swingangle;
    private String trackheigh;
    private String movHigh;
    private String heigdiff;
    private String seacabnum;
    private String raiwaynum;
    private String raiwaylen;
    private String radii;
    private String depth;
    private String diarad;
    private String cirspe;
    private String length;
    private String wireropedia;
    private String lineWidth;
    private String eqpHigh;
    private String ifShift;
    private String eleMotoRev;
    private String carageArea;
    private String carShpNum;
    private String poolType;
    private String slidewayMachine;
    private String slidewayType;
    private String slidewayStuff;
    private String recovery;
    private String jumpType;
    private String backType;
    private String ifMinJump;
    private String slideNum;
    private String ropeLength;
    private String ropeMaxlength;
    private String ropeBrokepower;
    private String slideType;
}
@Data
@Accessors(chain = true)
class PpinPara {
    private String createUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    private String updateUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    public String eqpCod;
    public Double length;
    public String workMedium;
    public String layMode;
    public String adiabaticType;
    public String rotAmount;
    public String designPress;
    public String workPress;
    public String topWorkPress;
    public String designTemp;
    public String workTemp;
    public String topWorkTemp;
    public String hkNum;
    public String falwRadio;
    public String nominalDia;
    public String nominalPly;
    public String startPlace;
    public String endPlace;
    public String sendMedium;
    public String innerMedium;
    public String innerPly;
    public String pipelineDatumSign;
    public String ifSavetemp;
    public String adiabaticMedium;
    public String adiabaticPly;
    public String embalmment;
    public String pipelineMedium;
    public String pipelineSpec;
    public String pipelinePly;
    public String useTime;
    public String safeMecNum;
    public String tryPress;
    public String antisepsisUnt;
    public String boxName;
    public String pipeNum;
    public String pipelineLevel;
}

@Data
@Accessors(chain = true)
class OldDeviceSkel<P> {
    private Long id;
    private String eqpCod;
    private String oidno;
    private String  amrServer;
    private String  eqpType;
    private String  eqpSort;
    private String  eqpVart;
    private String  subEqpVart;
    private String inCag;
    private String wisdomCod;
    private String eqpUsecertCod;
    private String eqpStationCod;
    private Long    eqpIspDept;
    private String eqpRegSta;
    private String eqpRegCod;
    private Long regUntId;
    private String regUntName;
    private String regUserName;
    private LocalDate regDate;
    private LocalDate regLogoutDate;
    private String eqpUseSta;
    //Cannot parse date "2023-01-05 00:00:00"
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime usestaChgDate;
    private String eqpName;
    private String eqpMod;
    private String factoryCod;
    private String eqpInnerCod;
    private String eqpWeight;
    private String eqpAreaCod;
    private String eqpUsePlace;
    private String eqpUseAddr;
    private String eqpUseOcca;
    private String zmqCod;
    private Float    eqpPrice;
    private LocalDate firstuseDate;
    private LocalDate designDate;
    private String extendUseYear;
    private String designUseOveryear;
    private LocalDate acpDate;
    private LocalDate compeAccpDate;
    private LocalDate ovhDate;
    private LocalDate altDate;
    private LocalDate makeDate;
    private String makeCountry;
    private String useLkmen;
    private String usePhone;
    private String deptLeader;
    private String deptLeaderPhone;
    private String safeMan;
    private String safeManPhone;
    private Long  useUntId;
    private Integer  mgeDeptType;
    private Long safeDeptId;
    private Long secudeptId;
    private String importType;
    private String eqpLevel;
    private String designPic;
    private String designUseYear;
    private String productMeasure;
    private String designChkunt;
    private LocalDate designdocChkdate;
    private String testRepcod;
    private String ifMajctl;
    private String ifPopulated;
    private String ifMajplace;
    private String ifMajeqp;
    private String acciType;
    private String safeLev;
    private Long designUntId;
    private Long testUntId;
    private Long  makeUntId;
    private String quacertName;
    private String quacertCod;
    private Long instUntId;
    private String instLeader;
    private String instLkphone;
    private Long altUntId;
    private Long ovhUntId;
    private Long  propUntId;
    private Long  mantUntId;
    private String mantDeptId;
    private String mantLkmen;
    private String mantPhone;
    private String mantCycle;
    private String altCycle;
    private String consUntId;
    private String buildUntId;
    private String mangUntName;
    private String mangUntPhone;
    private String emergencyTel;
    private String emergencyUserName;
    private Double eqpLong;
    private Double eqpLat;
    private String eqpSealev;
    private String ispStatus;
    private String useMobile;
    private String majeqpType;
    private Long  buildId;      //houseMge
    private String safeValveNum;
    private String eqpLev;
    private String catlicennum;
    private String smsCod;
    private String wxSignature;
    private String ifOlddedPg;
    private String pgCycle;
    private String ifSpecEqp;
    private String ifInProv;
    private String ifPublicArea;
    private String ifOldbuildInst;
    private String ifParam;
    private String dataRefer;
    private String isMoveeqp;
    private String ifOldDt;
    private String oldEnddate;
    private String firstYear;
    private String ifNoregLegar;
    private String ifIncping;
    private String ifFsEqp;
    private String ifJy;
    private String mainEqpCod;
    private String ifQrCode;
    private String ifJcincag;
    private String ifJcfl;
    private String ispType;
    private String ifMakeEqp;
    private String modSpec;
    private String eqpIspDeptName;
    private String inCagName;
    private String eqpRegStaName;
    private String eqpUseStaName;
    private String makeUntName;
    private String instUntName;
    private String mantUntName;
    private String buildUntName;
    private String eqpAreaCodName;
    private String eqpAreaName;
    private String mgeDeptTypeName;
    private String eqpTypeName;
    private String eqpSortName;
    private String eqpVartName;
    private String subEqpVartName;
    private String buildName;
    private String instBuildType;
    private String useUntAddr;
    private String useUntBusilicnum;
    private String useUntLkmen;
    private String useUntMobile;
    private String secudeptName;
    private String useUntCod;
    private String useUntName;
    private String makeUntCod;
    private String altUntName;
    private String ovhUntName;
    private String noteligibleFalg1;
    private String noteligibleFalg2;
    private String ifUnisporunfee;
    private String onDemandSta;
    private LocalDate onDemandDate;
    private String chkUntName;
    private LocalDate nextChkDate;
    private LocalDate lastChkDate;
    private LocalDate nextBrakeTaskDate;
    private LocalDate lastBrakeTaskDate;
    private Long lastIspopeType1;
    private String uploadLastIspId1;
    private String lastIspId1;
    private LocalDate lastIspDate1;
    private String lastIspConclu1;
    private String lastIspReport1;
    private String uploadLastIspId2;
    private Long lastIspopeType2;
    private String lastIspId2;
    private LocalDate lastIspDate2;
    private String lastIspConclu2;
    private String lastIspReport2;

    private String lastIspopeType3;
    private String uploadLastIspId3;
    private String lastIspId3;
    private LocalDate lastIspDate3;
    private String lastIspConclu3;
    private String lastIspReport3;

    private String lastIspopeType4;
    private String uploadLastIspId4;
    private String lastIspId4;
    private LocalDate lastIspDate4;
    private String lastIspConclu4;
    private String lastIspReport4;
    private LocalDate nextIspDate1;
    private LocalDate nextIspDate2;
    private LocalDate tempIspDate1;
    private LocalDate tempIspDate2;
    private LocalDate abnorIspDate1;
    private LocalDate abnorIspDate2;
    private String lastChkReport;
    private String lastChkConclu;
    private String lastChkUntName;
    private Float regIspMoney;
    private Float acpIspMoney;
    private String ifIncpingName;
    private String createUserId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    private String usePostCod;
    private String propUntName;
    private String designUntName;
    private String consUntName;
    @JsonProperty("techParam")
    private P techParam;
}
//全局配置Jackson  @Configuration //public class JacksonConfig { StringMapper StringMapper() }
